package Aula16;

public interface MinHeap {

    /**
     * @param vetorNumerosDesordenado
     * @return 1 se construiu corretamente
     */
    int construirHeap(int [] vetorNumerosDesordenado);
    
    /**
     * @return menor elemento da estrutura, sem remove-lo
     */
    int getMinimo();
    
    /**
     * @return menor elemento da estrutura, removendo-o
     */
    int extrairMinimo();
    
    /**
     * @param  i posicao relativa para heapifry
     */
    void minHeapify(int i);
    

    /**
     * @param novaChave novo elemento a ser inserido na heap
     */
    void inserirChave(int novaChave);
    
}